package com.sdry.service.cb;

import com.sdry.model.cb.ReportFormEntity;
import com.sdry.model.cb.TableDataInfo;
import com.sdry.model.jyy.Receive;
import com.sdry.model.llm.LlmCancellingStocks;
import com.sdry.model.lz.Customer;
import com.sdry.model.lz.Materiel;
import com.sdry.model.lz.OutStockOrder;
import com.sdry.model.zc.ZcInventoryInfoEntity;
import com.sdry.model.zc.ZcRejectsWarehouseEntity;

import java.text.ParseException;
import java.util.List;

public interface ReportFormService {
    List<ReportFormEntity> getReportFormList(String ma_id, String date, Long customer_id, String firsTime, String selectTime2) throws ParseException;

    List<Receive> getReportFormJinList(String selectTime, String maName, String date, Long customer_id, String selectType, String selectTime2);

    List<OutStockOrder> getReportFormChungList(String maName, String date, Long customer_id, String selectTime, String selectType, String selectTime2);

    String getReportFormFirsTime();

    List<LlmCancellingStocks> getReportFormReTurnList(String selectTime, String maName, String date, Long customer_id, String selectType, String dateTime2);

    List<ZcRejectsWarehouseEntity> getReportFormReGeLIList(String selectTime, String maName, String date, Long customer_id, String selectType, String selectTime2);

    List<ReportFormEntity> getDateBalance(String ma_id, String date, Long customer_id, String firsTime, String dateTime2) throws ParseException;

    List<Materiel> getReceiveDetail(Long materiaId, Integer type, String dateTime);

    List<ZcInventoryInfoEntity> getReportInventoryList(Long customer_id, String maName, String date);

    List<Materiel> getInventoryInfoList(String mid);

    List<Materiel> getStockInventoryInfoDetailedList(String mid, String mBatch, Integer page, Integer limit);

    Integer getReportFormJinListTotal(String selectTime, String maName, String date, Long customer_id, String selectType, String selectTime2);

    Integer getReportFormChungListTotal(String maName, String date, Long customer_id, String selectTime, String selectType, String selectTime2);

    Integer getReportFormReTurnListTotal(String selectTime, String maName, String date, Long customer_id, String selectType, String dateTime2);

    Integer getReportFormReGeLIListTotal(String selectTime, String maName, String date, Long customer_id, String selectType, String selectTime2);

    List<Customer> selectAllCustomerList();

    Integer getStockInventoryInfoDetailedListTotal(String mid, String mBatch);

    List<Materiel> getTiaoMaList(String mBatch, String mid, String locationCode);

    List<ReportFormEntity> getStock();

    void addStockTaskJob(List<ReportFormEntity> list);
}
